package tr.edu.ege.kipler.syntax;

/**
 * An instance of this interface is an expression that can be negated.
 * 
 * @author İnanç Seylan
 */
public interface Negatable<E> {
	/**
	 * @return true if the expression is negated. 
	 */
	public boolean isNegated();

	/**
	 * Toggles the negation status of the expression.
	 * @return this, i.e., the negated expression.
	 */
	public E toggleNegated();
}
